package com.thomas.nio;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

/**   
* @Description: TODO(用一句话描述该文件做什么) 
* @author thomas_liu  
* @date 2018年4月12日 上午10:14:53 
* @version V1.0   
*/
public class TimeServerHandler implements Runnable{
	
	private Socket socket;
	
	public TimeServerHandler(Socket socket) {
		super();
		this.socket = socket;
	}

	public void run() {
		BufferedReader in = null;
		PrintWriter out = null;
			try {
				in = new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
				
				out = new PrintWriter(this.socket.getOutputStream(), true);
				String currentTime = null;
				String body = null;
				while(true){
					body = in.readLine();
					if (body == null)
						break;
					System.out.println("The time server receive order :"+body);
					currentTime = "QUERY TIME ORDER".equalsIgnoreCase(body)?new java.util.Date(System.currentTimeMillis()).toString() : "BAD ORDER";
					out.println(currentTime);
				}
			} catch (Exception e) {
				if(in != null){
					try {
						in.close();
					} catch (Exception e1) {
						e1.printStackTrace();
					}
				}
				
				if(out != null){
					out.close();
					out = null;
				}
				
				if(this.socket != null){
					try {
						this.socket.close();
					} catch (Exception e2) {
						e2.printStackTrace();
					}
					
					this.socket = null;
				}
				
			}
		
		
	}

}
